package org.example.biz.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 还款通知信息-主表
 * </p>
 *
 * @author ZhangLei
 * @since 2023-11-22
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class Primary implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 流水号 全局唯一
     */
    private String serialNo;

    /**
     * 渠道号
     */
    private Integer channelId;

    /**
     * 本地订单号
     */
    private String orderId;

    /**
     * 借据号
     */
    private String loanNo;

    // /**
    //  * 当前期数
    //  */
    // private Integer period;
    /**
     * 当期流水号还款总金额
     */
    private BigDecimal amount = BigDecimal.ZERO;

    /**
     * 本地客户ID
     */
    private Integer customerId;

    /**
     * 外部渠道用户ID
     */
    private String channelUserId;

    /**
     * 还款类型 1-账单日还款 2-提前还当期 3-提前还多期 4-正常提前结清 5-逾期提前结清 6-正常部分还款 7-账单日还当期 88-逾期还当期 9-逾期还多期 10-逾期还部分
     */
    private Integer repayType;

    /**
     * 还款方式  1-渠道方划扣 2-融担方划扣 3-用户主动还款 4-线下还款到渠道 5-线下还款到融担 6-融担方发起，渠道方划扣
     */
    private Integer repayChannel;

    /**
     * 还款途径 1- online 2-offline
     */
    private Integer repayPathway;

    /**
     * 还款时间
     */
    private Date repayTime;

    /**
     * 入账时间
     */
    private Date accountDate;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 创建时间
     */
    private Date createTime;


}
